Systems and methods for cryptographic authentication of contactless cards

ABSTRACT

Example embodiments of systems and methods for data transmission between a contactless card, a client device, and one or more servers are provided. The memory of the contactless card may include one or more applets and a counter. The client device may be in data communication with the contactless card and one or more servers, and the one or more servers may include an expected counter value. The client device may be configured to read the counter from the contactless card and transmit it to the one or more servers. The one or more servers may compare the counter to the expected counter value for synchronization. The contactless card and the one or more servers may resynchronize the counter, via one or more processes, based on one or more reads of the one or more applets. The one or more servers may authenticate the contactless card based on the resynchronization.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 16/205,119, filed on Nov. 29, 2018, and claims priority fromU.S. Provisional Patent Application No. 62/740,352, filed on Oct. 2,2018, the disclosures of which are incorporated herein by reference intheir entirety.

FIELD OF THE INVENTION

The present disclosure relates to cryptography, and more particularly,to systems and methods for the cryptographic authentication ofcontactless cards.

BACKGROUND

Data security and transaction integrity are of critical importance tobusinesses and consumers. This need continues to grow as electronictransactions constitute an increasingly large share of commercialactivity.

Email may be used as a tool to verify transactions, but email issusceptible to attack and vulnerable to hacking or other unauthorizedaccess. Short message service (SMS) messages may also be used, but thatis subject to compromise as well. Moreover, even data encryptionalgorithms, such as triple DES algorithms, have similar vulnerabilities.

Activating many cards, including for example financial cards (e.g.,credit cards and other payment cards), involves the time-consumingprocess of cardholders calling a telephone number or visiting a websiteand entering or otherwise providing card information. Further, while thegrowing use of chip-based financial cards provides more secure featuresover the previous technology (e.g., magnetic strip cards) for in-personpurchases, account access still may rely on log-in credentials (e.g.,username and password) to confirm a cardholder's identity. However, ifthe log-in credentials are compromised, another person could have accessto the user's account.

These and other deficiencies exist. Accordingly, there is a need toprovide users with an appropriate solution that overcomes thesedeficiencies to provide data security, authentication, and verificationfor contactless cards. Further, there is a need for both an improvedmethod of activating a card and an improved authentication for accountaccess.

SUMMARY

Aspects of the disclosed technology include systems and methods forcryptographic authentication of contactless cards. Various embodimentsdescribe systems and methods for implementing and managing cryptographicauthentication of contactless cards.

Embodiments of the present disclosure provide a counterresynchronization system comprising: a contactless card including one ormore processors, and a memory, wherein the memory comprises one or moreapplets and a counter; a client application comprising instructions forexecution on a client device including one or more processors and amemory; and one or more servers in data communication with the clientapplication, the one or more servers including a memory comprising anexpected counter value, wherein the client application is configured toread the counter from the contactless card and transmit the counter tothe one or more servers, wherein the one or more servers are configuredto compare the counter to the expected counter value forsynchronization; wherein the contactless card and the one or moreservers are configured to resynchronize the counter, via one or moreprocesses, based on one or more reads of the one or more applets, andwherein the one or more servers are configured to authenticate thecontactless card based on the resynchronization.

Embodiments of the present disclosure provide a method ofresynchronizing a counter in a contactless card comprising:communicating, by a contactless card, to a client application comprisinginstructions for execution on a client device, the client applicationalso in communication with one or more servers, the contactless cardincluding one or more processors, and a memory, wherein the memorycomprises one or more applets and a first counter; comparing, by the oneor more servers, the counter received from the client application to anexpected counter value for synchronization; resynchronizing the counter,via one or more resynchronization processes, based on one or more readsof the one or more applets; and authenticating, by the one or moreservers, the contactless card based on resynchronizing the counter.

Embodiments of the present disclosure provide a contactless cardcomprising: one or more processors, and a memory, wherein the memorycomprises one or more applets and a counter; wherein the counter isresynchronized, via a resynchronization process, based on one or morereads of the one or more applets, wherein the resynchronization processincludes: performing, by a client application comprising instructionsfor execution on a client device, the one or more reads of the one ormore applets during a single gesture by the contactless card, andreceiving, by the one or more servers, the one or more reads from theclient application based on the single gesture, and resynchronizing thecounter, by the contactless card, wherein the single gesture comprises awave, tap, or swipe or any combination thereof by the contactless cardto the client application, and wherein the resynchronization processincludes a first window and is configured to determine if an incrementof the counter belongs to a first non-monotonic sequence within thefirst window

Further features of the disclosed design, and the advantages offeredthereby, are explained in greater detail hereinafter with reference tospecific example embodiments illustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of a data transmission system according to anexample embodiment.

FIG. 1B is a diagram illustrating a sequence for providing authenticatedaccess according to an example embodiment.

FIG. 2 is a diagram of a data transmission system according to anexample embodiment.

FIG. 3 is a diagram of a system using a contactless card according to anexample embodiment.

FIG. 4 is a flowchart illustrating a method of key diversificationaccording to an example embodiment.

FIG. 5A is an illustration of a contactless card according to an exampleembodiment.

FIG. 5B is an illustration of a contact pad of the contactless cardaccording to an example embodiment.

FIG. 6 is an illustration depicting a message to communicate with adevice according to an example embodiment.

FIG. 7 is an illustration depicting a message and a message formataccording to an example embodiment.

FIG. 8 is a flowchart illustrating key operations according to anexample embodiment.

FIG. 9 is a diagram of a key system according to an example embodiment.

FIG. 10 is a flowchart of a method of generating a cryptogram accordingto an example embodiment.

FIG. 11 is a flowchart illustrating a process of key diversificationaccording to an example embodiment.

FIG. 12 is a flowchart illustrating a method for card activationaccording to an example embodiment.

FIG. 13 is counter resynchronization system according to an exampleembodiment.

FIG. 14 is a flowchart illustrating a method for resynchronizing acounter in a contactless card according to an example embodiment.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The following description of embodiments provides non-limitingrepresentative examples referencing numerals to particularly describefeatures and teachings of different aspects of the invention. Theembodiments described should be recognized as capable of implementationseparately, or in combination, with other embodiments from thedescription of the embodiments. A person of ordinary skill in the artreviewing the description of embodiments should be able to learn andunderstand the different described aspects of the invention. Thedescription of embodiments should facilitate understanding of theinvention to such an extent that other implementations, not specificallycovered but within the knowledge of a person of skill in the art havingread the description of embodiments, would be understood to beconsistent with an application of the invention.

An objective of some embodiments of the present disclosure is to buildone or more keys into one or more contactless cards. In theseembodiments, the contactless card can perform authentication andnumerous other functions that may otherwise require the user to carry aseparate physical token in addition to the contactless card. Byemploying a contactless interface, contactless cards may be providedwith a method to interact and communicate between a user's device (suchas a mobile phone) and the card itself. For example, the EMV protocol,which underlies many credit card transactions, includes anauthentication process which suffices for operating systems for Android®but presents challenges for iOS®, which is more restrictive regardingnear field communication (NFC) usage, as it can be used only in aread-only manner. Exemplary embodiments of the contactless cardsdescribed herein utilize NFC technology.

FIG. 1A illustrates a data transmission system according to an exampleembodiment. As further discussed below, system 100 may includecontactless card 105, client device 110, network 115, and server 120.Although FIG. 1A illustrates single instances of the components, system100 may include any number of components.

System 100 may include one or more contactless cards 105, which arefurther explained below with reference to FIGS. 5A-5B. In someembodiments, contactless card 105 may be in wireless communication,utilizing NFC in an example, with client device 110.

System 100 may include client device 110, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a phone, a handheld PC, a personal digital assistant, athin client, a fat client, an Internet browser, or other device. Clientdevice 110 also may be a mobile device; for example, a mobile device mayinclude an iPhone, iPod, iPad from Apple® or any other mobile devicerunning Apple's iOS® operating system, any device running Microsoft'sWindows® Mobile operating system, any device running Google' s Android®operating system, and/or any other smartphone, tablet, or like wearablemobile device.

The client device 110 device can include a processor and a memory, andit is understood that the processing circuitry may contain additionalcomponents, including processors, memories, error and parity/CRCcheckers, data encoders, anticollision algorithms, controllers, commanddecoders, security primitives and tamperproofing hardware, as necessaryto perform the functions described herein. The client device 110 mayfurther include a display and input devices. The display may be any typeof device for presenting visual information such as a computer monitor,a flat panel display, and a mobile device screen, including liquidcrystal displays, light-emitting diode displays, plasma panels, andcathode ray tube displays. The input devices may include any device forentering information into the user's device that is available andsupported by the user's device, such as a touch-screen, keyboard, mouse,cursor-control device, touch-screen, microphone, digital camera, videorecorder or camcorder. These devices may be used to enter informationand interact with the software and other devices described herein.

In some examples, client device 110 of system 100 may execute one ormore applications, such as software applications, that enable, forexample, network communications with one or more components of system100 and transmit and/or receive data.

Client device 110 may be in communication with one or more servers 120via one or more networks 115, and may operate as a respective front-endto back-end pair with server 120. Client device 110 may transmit, forexample from a mobile device application executing on client device 110,one or more requests to server 120. The one or more requests may beassociated with retrieving data from server 120. Server 120 may receivethe one or more requests from client device 110. Based on the one ormore requests from client device 110, server 120 may be configured toretrieve the requested data from one or more databases (not shown).Based on receipt of the requested data from the one or more databases,server 120 may be configured to transmit the received data to clientdevice 110, the received data being responsive to one or more requests.

System 100 may include one or more networks 115. In some examples,network 115 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 110 to server 120. For example,network 115 may include one or more of a fiber optics network, a passiveoptical network, a cable network, an Internet network, a satellitenetwork, a wireless local area network (LAN), a Global System for MobileCommunication, a Personal Communication Service, a Personal AreaNetwork, Wireless Application Protocol, Multimedia Messaging Service,Enhanced Messaging Service, Short Message Service, Time DivisionMultiplexing based systems, Code Division Multiple Access based systems,D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and802.11g, Bluetooth, NFC, Radio Frequency Identification (RFID), Wi-Fi,and/or the like.

In addition, network 115 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 115 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 115 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 115 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 115 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 115 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 115 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

System 100 may include one or more servers 120. In some examples, server120 may include one or more processors, which are coupled to memory.Server 120 may be configured as a central system, server or platform tocontrol and call various data at different times to execute a pluralityof workflow actions. Server 120 may be configured to connect to the oneor more databases. Server 120 may be connected to at least one clientdevice 110.

FIG. 1B is a timing diagram illustrating an example sequence forproviding authenticated access according to one or more embodiments ofthe present disclosure. System 100 may comprise contactless card 105 andclient device 110, which may include an application 122 and processor124. FIG. 1B may reference similar components as illustrated in FIG. 1A.

At step 102, the application 122 communicates with the contactless card105 (e.g., after being brought near the contactless card 105).Communication between the application 122 and the contactless card 105may involve the contactless card 105 being sufficiently close to a cardreader (not shown) of the client device 110 to enable NFC data transferbetween the application 122 and the contactless card 105.

At step 104, after communication has been established between clientdevice 110 and contactless card 105, the contactless card 105 generatesa message authentication code (MAC) cryptogram. In some examples, thismay occur when the contactless card 105 is read by the application 122.In particular, this may occur upon a read, such as an NFC read, of anear field data exchange (NDEF) tag, which may be created in accordancewith the NFC Data Exchange Format. For example, a reader, such asapplication 122, may transmit a message, such as an applet selectmessage, with the applet ID of an NDEF producing applet. Uponconfirmation of the selection, a sequence of select file messagesfollowed by read file messages may be transmitted. For example, thesequence may include “Select Capabilities file”, “Read Capabilitiesfile”, and “Select NDEF file”. At this point, a counter value maintainedby the contactless card 105 may be updated or incremented, which may befollowed by “Read NDEF file.” At this point, the message may begenerated which may include a header and a shared secret. Session keysmay then be generated. The MAC cryptogram may be created from themessage, which may include the header and the shared secret. The MACcryptogram may then be concatenated with one or more blocks of randomdata, and the MAC cryptogram and a random number (RND) may be encryptedwith the session key. Thereafter, the cryptogram and the header may beconcatenated, and encoded as ASCII hex and returned in NDEF messageformat (responsive to the “Read NDEF file” message).

In some examples, the MAC cryptogram may be transmitted as an NDEF tag,and in other examples the MAC cryptogram may be included with a uniformresource indicator (e.g., as a formatted string).

In some examples, application 122 may be configured to transmit arequest to contactless card 105, the request comprising an instructionto generate a MAC cryptogram.

At step 106, the contactless card 105 sends the MAC cryptogram to theapplication 122. In some examples, the transmission of the MACcryptogram occurs via NFC, however, the present disclosure is notlimited thereto. In other examples, this communication may occur viaBluetooth, Wi-Fi, or other means of wireless data communication.

At step 108, the application 122 communicates the MAC cryptogram to theprocessor 124.

At step 112, the processor 124 verifies the MAC cryptogram pursuant toan instruction from the application 122. For example, the MAC cryptogrammay be verified, as explained below.

In some examples, verifying the MAC cryptogram may be performed by adevice other than client device 110, such as a server 120 in datacommunication with the client device 110 (as shown in FIG. 1A). Forexample, processor 124 may output the MAC cryptogram for transmission toserver 120, which may verify the MAC cryptogram.

In some examples, the MAC cryptogram may function as a digital signaturefor purposes of verification. Other digital signature algorithms, suchas public key asymmetric algorithms, e.g., the Digital SignatureAlgorithm and the RSA algorithm, or zero knowledge protocols, may beused to perform this verification.

FIG. 2 illustrates a data transmission system according to an exampleembodiment. System 200 may include a transmitting or sending device 205,a receiving or recipient device 210 in communication, for example vianetwork 215, with one or more servers 220. Transmitting or sendingdevice 205 may be the same as, or similar to, client device 110discussed above with reference to FIG. 1A. Receiving or recipient device210 may be the same as, or similar to, client device 110 discussed abovewith reference to FIG. 1A. Network 215 may be similar to network 115discussed above with reference to FIG. 1A. Server 220 may be similar toserver 120 discussed above with reference to FIG. 1A. Although FIG. 2shows single instances of components of system 200, system 200 mayinclude any number of the illustrated components.

When using symmetric cryptographic algorithms, such as encryptionalgorithms, hash-based message authentication code (HMAC) algorithms,and cipher-based message authentication code (CMAC) algorithms, it isimportant that the key remain secret between the party that originallyprocesses the data that is protected using a symmetric algorithm and thekey, and the party who receives and processes the data using the samecryptographic algorithm and the same key.

It is also important that the same key is not used too many times. If akey is used or reused too frequently, that key may be compromised. Eachtime the key is used, it provides an attacker an additional sample ofdata which was processed by the cryptographic algorithm using the samekey. The more data which the attacker has which was processed with thesame key, the greater the likelihood that the attacker may discover thevalue of the key. A key used frequently may be comprised in a variety ofdifferent attacks.

Moreover, each time a symmetric cryptographic algorithm is executed, itmay reveal information, such as side-channel data, about the key usedduring the symmetric cryptographic operation. Side-channel data mayinclude minute power fluctuations which occur as the cryptographicalgorithm executes while using the key. Sufficient measurements may betaken of the side-channel data to reveal enough information about thekey to allow it to be recovered by the attacker. Using the same key forexchanging data would repeatedly reveal data processed by the same key.

However, by limiting the number of times a particular key will be used,the amount of side-channel data which the attacker is able to gather islimited and thereby reduce exposure to this and other types of attack.As further described herein, the parties involved in the exchange ofcryptographic information (e.g., sender and recipient) can independentlygenerate keys from an initial shared master symmetric key in combinationwith a counter value, and thereby periodically replace the sharedsymmetric key being used with needing to resort to any form of keyexchange to keep the parties in sync. By periodically changing theshared secret symmetric key used by the sender and the recipient, theattacks described above are rendered impossible.

Referring back to FIG. 2, system 200 may be configured to implement keydiversification. For example, a sender and recipient may desire toexchange data (e.g., original sensitive data) via respective devices 205and 210. As explained above, although single instances of transmittingdevice 205 and receiving device 210 may be included, it is understoodthat one or more transmitting devices 205 and one or more receivingdevices 210 may be involved so long as each party shares the same sharedsecret symmetric key. In some examples, the transmitting device 205 andreceiving device 210 may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice 205 and similarly any party holding the same secret symmetric keymay perform the functions of the receiving device 210. In some examples,the symmetric key may comprise the shared secret symmetric key which iskept secret from all parties other than the transmitting device 205 andthe receiving device 210 involved in exchanging the secure data. It isfurther understood that both the transmitting device 205 and receivingdevice 210 may be provided with the same master symmetric key, andfurther that part of the data exchanged between the transmitting device205 and receiving device 210 comprises at least a portion of data whichmay be referred to as the counter value. The counter value may comprisea number that changes each time data is exchanged between thetransmitting device 205 and the receiving device 210.

System 200 may include one or more networks 215. In some examples,network 215 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect one or more transmitting devices 205 and one ormore receiving devices 210 to server 220. For example, network 215 mayinclude one or more of a fiber optics network, a passive opticalnetwork, a cable network, an Internet network, a satellite network, awireless LAN, a Global System for Mobile Communication, a PersonalCommunication Service, a Personal Area Network, Wireless ApplicationProtocol, Multimedia Messaging Service, Enhanced Messaging Service,Short Message Service, Time Division Multiplexing based systems, CodeDivision Multiple Access based systems, D-AMPS, Wi-Fi, Fixed WirelessData, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID,Wi-Fi, and/or the like.

In addition, network 215 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 215 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 215 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 215 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 215 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 215 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 215 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

In some examples, one or more transmitting devices 205 and one or morereceiving devices 210 may be configured to communicate and transmit andreceive data between each other without passing through network 215. Forexample, communication between the one or more transmitting devices 205and the one or more receiving devices 210 may occur via at least one ofNFC, Bluetooth, RFID, Wi-Fi, and/or the like.

At block 225, when the transmitting device 205 is preparing to processthe sensitive data with symmetric cryptographic operation, the sendermay update a counter. In addition, the transmitting device 205 mayselect an appropriate symmetric cryptographic algorithm, which mayinclude at least one of a symmetric encryption algorithm, HMACalgorithm, and a CMAC algorithm. In some examples, the symmetricalgorithm used to process the diversification value may comprise anysymmetric cryptographic algorithm used as needed to generate the desiredlength diversified symmetric key. Non-limiting examples of the symmetricalgorithm may include a symmetric encryption algorithm such as 3DES orAES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and asymmetric CMAC algorithm such as AES-CMAC. It is understood that if theoutput of the selected symmetric algorithm does not generate asufficiently long key, techniques such as processing multiple iterationsof the symmetric algorithm with different input data and the same masterkey may produce multiple outputs which may be combined as needed toproduce sufficient length keys.

At block 230, the transmitting device 205 may take the selectedcryptographic algorithm, and using the master symmetric key, process thecounter value. For example, the sender may select a symmetric encryptionalgorithm, and use a counter which updates with every conversationbetween the transmitting device 205 and the receiving device 210. Thetransmitting device 205 may then encrypt the counter value with theselected symmetric encryption algorithm using the master symmetric key,creating a diversified symmetric key.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice 205 and the receiving device 210 at block 230 without encryption.

At block 235, the diversified symmetric key may be used to process thesensitive data before transmitting the result to the receiving device210. For example, the transmitting device 205 may encrypt the sensitivedata using a symmetric encryption algorithm using the diversifiedsymmetric key, with the output comprising the protected encrypted data.The transmitting device 205 may then transmit the protected encrypteddata, along with the counter value, to the receiving device 210 forprocessing.

At block 240, the receiving device 210 may first take the counter valueand then perform the same symmetric encryption using the counter valueas input to the encryption, and the master symmetric key as the key forthe encryption. The output of the encryption may be the same diversifiedsymmetric key value that was created by the sender.

At block 245, the receiving device 210 may then take the protectedencrypted data and using a symmetric decryption algorithm along with thediversified symmetric key, decrypt the protected encrypted data.

At block 250, as a result of the decrypting the protected encrypteddata, the original sensitive data may be revealed.

The next time sensitive data needs to be sent from the sender to therecipient via respective transmitting device 205 and receiving device210, a different counter value may be selected producing a differentdiversified symmetric key. By processing the counter value with themaster symmetric key and same symmetric cryptographic algorithm, boththe transmitting device 205 and receiving device 210 may independentlyproduce the same diversified symmetric key. This diversified symmetrickey, not the master symmetric key, is used to protect the sensitivedata.

As explained above, both the transmitting device 205 and receivingdevice 210 each initially possess the shared master symmetric key. Theshared master symmetric key is not used to encrypt the originalsensitive data. Because the diversified symmetric key is independentlycreated by both the transmitting device 205 and receiving device 210, itis never transmitted between the two parties. Thus, an attacker cannotintercept the diversified symmetric key and the attacker never sees anydata which was processed with the master symmetric key. Only the countervalue is processed with the master symmetric key, not the sensitivedata. As a result, reduced side-channel data about the master symmetrickey is revealed. Moreover, the operation of the transmitting device 205and the receiving device 210 may be governed by symmetric requirementsfor how often to create a new diversification value, and therefore a newdiversified symmetric key. In an embodiment, a new diversification valueand therefore a new diversified symmetric key may be created for everyexchange between the transmitting device 205 and receiving device 210.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device 205 to thereceiving device 210; the full value of a counter value sent from thetransmitting device 205 and the receiving device 210; a portion of acounter value sent from the transmitting device 205 and the receivingdevice 210; a counter independently maintained by the transmittingdevice 205 and the receiving device 210 but not sent between the twodevices; a one-time-passcode exchanged between the transmitting device205 and the receiving device 210; and a cryptographic hash of thesensitive data. In some examples, one or more portions of the keydiversification value may be used by the parties to create multiplediversified keys. For example, a counter may be used as the keydiversification value. Further, a combination of one or more of theexemplary key diversification values described above may be used.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystems and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice 205 and the receiving device 210. In effect, this may create aone-time use key, such as a single-use session key.

FIG. 3 illustrates a system 300 using a contactless card. System 300 mayinclude a contactless card 305, one or more client devices 310, network315, servers 320, 325, one or more hardware security modules 330, and adatabase 335. Although FIG. 3 illustrates single instances of thecomponents, system 300 may include any number of components.

System 300 may include one or more contactless cards 305, which arefurther explained below with respect to FIGS. 5A-5B. In some examples,contactless card 305 may be in wireless communication, for example NFCcommunication, with client device 310. For example, contactless card 305may comprise one or more chips, such as a radio frequency identificationchip, configured to communication via NFC or other short-rangeprotocols. In other embodiments, contactless card 305 may communicatewith client device 310 through other means including, but not limitedto, Bluetooth, satellite, Wi-Fi, wired communications, and/or anycombination of wireless and wired connections. According to someembodiments, contactless card 305 may be configured to communicate withcard reader 313 of client device 310 through NFC when contactless card305 is within range of card reader 313. In other examples,communications with contactless card 305 may be accomplished through aphysical interface, e.g., a universal serial bus interface or a cardswipe interface.

System 300 may include client device 310, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to: e.g., a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a mobile device, a phone, a handheld PC, a personal digitalassistant, a thin client, a fat client, an Internet browser, or otherdevice. One or more client devices 310 also may be a mobile device; forexample, a mobile device may include an iPhone, iPod, iPad from Apple®or any other mobile device running Apple's iOS® operating system, anydevice running Microsoft's Windows® Mobile operating system, any devicerunning Google's Android® operating system, and/or any other smartphoneor like wearable mobile device. In some examples, the client device 310may be the same as, or similar to, a client device 110 as described withreference to FIG. 1A or FIG. 1B.

Client device 310 may be in communication with one or more servers 320and 325 via one or more networks 315. Client device 310 may transmit,for example from an application 311 executing on client device 310, oneor more requests to one or more servers 320 and 325. The one or morerequests may be associated with retrieving data from one or more servers320 and 325. Servers 320 and 325 may receive the one or more requestsfrom client device 310. Based on the one or more requests from clientdevice 310, one or more servers 320 and 325 may be configured toretrieve the requested data from one or more databases 335. Based onreceipt of the requested data from the one or more databases 335, one ormore servers 320 and 325 may be configured to transmit the received datato client device 310, the received data being responsive to one or morerequests.

System 300 may include one or more hardware security modules (HSM) 330.For example, one or more HSMs 330 may be configured to perform one ormore cryptographic operations as disclosed herein. In some examples, oneor more HSMs 330 may be configured as special purpose security devicesthat are configured to perform the one or more cryptographic operations.The HSMs 330 may be configured such that keys are never revealed outsidethe HSM 330, and instead are maintained within the HSM 330. For example,one or more HSMs 330 may be configured to perform at least one of keyderivations, decryption, and MAC operations. The one or more HSMs 330may be contained within, or may be in data communication with, servers320 and 325.

System 300 may include one or more networks 315. In some examples,network 315 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 315 to server 320 and 325. Forexample, network 315 may include one or more of a fiber optics network,a passive optical network, a cable network, a cellular network, anInternet network, a satellite network, a wireless LAN, a Global Systemfor Mobile Communication, a Personal Communication Service, a PersonalArea Network, Wireless Application Protocol, Multimedia MessagingService, Enhanced Messaging Service, Short Message Service, TimeDivision Multiplexing based systems, Code Division Multiple Access basedsystems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1,802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or any combinationof networks thereof. As a non-limiting example, communications fromcontactless card 305 and client device 310 may comprise NFCcommunication, cellular network between client device 310 and a carrier,and Internet between the carrier and a back-end.

In addition, network 315 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a local area network, or a globalnetwork such as the Internet. In addition, network 315 may support anInternet network, a wireless communication network, a cellular network,or the like, or any combination thereof. Network 315 may further includeone network, or any number of the exemplary types of networks mentionedabove, operating as a stand-alone network or in cooperation with eachother. Network 315 may utilize one or more protocols of one or morenetwork elements to which they are communicatively coupled. Network 315may translate to or from other protocols to one or more protocols ofnetwork devices. Although network 315 is depicted as a single network,it should be appreciated that according to one or more examples, network315 may comprise a plurality of interconnected networks, such as, forexample, the Internet, a service provider's network, a cable televisionnetwork, corporate networks, such as credit card association networks,and home networks.

In various examples according to the present disclosure, client device310 of system 300 may execute one or more applications 311, and includeone or more processors 312, and one or more card readers 313. Forexample, one or more applications 311, such as software applications,may be configured to enable, for example, network communications withone or more components of system 300 and transmit and/or receive data.It is understood that although only single instances of the componentsof client device 310 are illustrated in FIG. 3, any number of devices310 may be used. Card reader 313 may be configured to read from and/orcommunicate with contactless card 305. In conjunction with the one ormore applications 311, card reader 313 may communicate with contactlesscard 305.

The application 311 of any of client device 310 may communicate with thecontactless card 305 using short-range wireless communication (e.g.,NFC). The application 311 may be configured to interface with a cardreader 313 of client device 310 configured to communicate with acontactless card 305. As should be noted, those skilled in the art wouldunderstand that a distance of less than twenty centimeters is consistentwith NFC range.

In some embodiments, the application 311 communicates through anassociated reader (e.g., card reader 313) with the contactless card 305.

In some embodiments, card activation may occur without userauthentication. For example, a contactless card 305 may communicate withthe application 311 through the card reader 313 of the client device 310through NFC. The communication (e.g., a tap of the card proximate thecard reader 313 of the client device 310) allows the application 311 toread the data associated with the card and perform an activation. Insome cases, the tap may activate or launch application 311 and theninitiate one or more actions or communications with an account server325 to activate the card for subsequent use. In some cases, if theapplication 311 is not installed on client device 310, a tap of the cardagainst the card reader 313 may initiate a download of the application311 (e.g., navigation to an application download page). Subsequent toinstallation, a tap of the card may activate or launch the application311, and then initiate (e.g., via the application or other back-endcommunication) activation of the card. After activation, the card may beused in various transactions including commercial transactions.

According to some embodiments, the contactless card 305 may include avirtual payment card. In those embodiments, the application 311 mayretrieve information associated with the contactless card 305 byaccessing a digital wallet implemented on the client device 310, whereinthe digital wallet includes the virtual payment card. In some examples,virtual payment card data may include one or more static or dynamicallygenerated virtual card numbers.

Server 320 may comprise a web server in communication with database 335.Server 325 may comprise an account server. In some examples, server 320may be configured to validate one or more credentials from contactlesscard 305 and/or client device 310 by comparison with one or morecredentials in database 335. Server 325 may be configured to authorizeone or more requests, such as payment and transaction, from contactlesscard 305 and/or client device 310.

FIG. 4 illustrates a method 400 of key diversification according to anexample of the present disclosure. Method 400 may include a transmittingdevice and receiving device similar to transmitting device 205 andreceiving device 210 referenced in FIG. 2.

For example, a sender and recipient may desire to exchange data (e.g.,original sensitive data) via a transmitting device and a receivingdevice. As explained above, although these two parties may be included,it is understood that one or more transmitting devices and one or morereceiving devices may be involved so long as each party shares the sameshared secret symmetric key. In some examples, the transmitting deviceand receiving device may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice and similarly any party holding the same secret symmetric key mayperform the functions of the receiving device. In some examples, thesymmetric key may comprise the shared secret symmetric key which is keptsecret from all parties other than the transmitting device and thereceiving device involved in exchanging the secure data. It is furtherunderstood that both the transmitting device and receiving device may beprovided with the same master symmetric key, and further that part ofthe data exchanged between the transmitting device and receiving devicecomprises at least a portion of data which may be referred to as thecounter value. The counter value may comprise a number that changes eachtime data is exchanged between the transmitting device and the receivingdevice.

At block 410, a transmitting device and receiving device may beprovisioned with the same master key, such as the same master symmetrickey. When the transmitting device is preparing to process the sensitivedata with symmetric cryptographic operation, the sender may update acounter. In addition, the transmitting device may select an appropriatesymmetric cryptographic algorithm, which may include at least one of asymmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. Insome examples, the symmetric algorithm used to process thediversification value may comprise any symmetric cryptographic algorithmused as needed to generate the desired length diversified symmetric key.Non-limiting examples of the symmetric algorithm may include a symmetricencryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm,such as HMAC-SHA-256; and a symmetric CMAC algorithm, such as AES-CMAC.It is understood that if the output of the selected symmetric algorithmdoes not generate a sufficiently long key, techniques such as processingmultiple iterations of the symmetric algorithm with different input dataand the same master key may produce multiple outputs which may becombined as needed to produce sufficient length keys.

The transmitting device may take the selected cryptographic algorithm,and using the master symmetric key, process the counter value. Forexample, the sender may select a symmetric encryption algorithm, and usea counter which updates with every conversation between the transmittingdevice and the receiving device.

At block 420, the transmitting device may then encrypt the counter valuewith the selected symmetric encryption algorithm using the mastersymmetric key, creating a diversified symmetric key. The diversifiedsymmetric key may be used to process the sensitive data beforetransmitting the result to the receiving device. For example, thetransmitting device may encrypt the sensitive data using a symmetricencryption algorithm using the diversified symmetric key, with theoutput comprising the protected encrypted data. The transmitting devicemay then transmit the protected encrypted data, along with the countervalue, to the receiving device for processing. In some examples, acryptographic operation other than encryption may be performed, and aplurality of cryptographic operations may be performed using thediversified symmetric keys prior to transmittal of the protected data.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice and the receiving device at block 420 without encryption.

At block 430, sensitive data may be protected using one or morecryptographic algorithms and the diversified keys. The diversifiedsession keys, which may be created by the key diversification which usesthe counter, may be used with one or more cryptographic algorithms toprotect the sensitive data. For example, data may be processed by a MACusing a first diversified session key, and the resulting output may beencrypted using the second diversified session key producing theprotected data.

At block 440, the receiving device may perform the same symmetricencryptions using the counter value as input to the encryptions and themaster symmetric keys as the keys for the encryption. The output of theencryptions may be the same diversified symmetric key values that werecreated by the sender. For example, the receiving device mayindependently create its own copies of the first and second diversifiedsession keys using the counter. Then, the receiving device may decryptthe protected data using the second diversified session key to revealthe output of the MAC created by the transmitting device. The receivingdevice may then process the resultant data through the MAC operationusing the first diversified session key.

At block 450, the receiving device may use the diversified keys with oneor more cryptographic algorithms to validate the protected data.

At block 460, the original data may be validated. If the output of theMAC operation (via the receiving device using the first diversifiedsession key) matches the MAC output revealed by decryption, then thedata may be deemed valid.

The next time sensitive data needs to be sent from the transmittingdevice to the receiving device, a different counter value may beselected, which produces a different diversified symmetric key. Byprocessing the counter value with the master symmetric key and samesymmetric cryptographic algorithm, both the transmitting device andreceiving device may independently produce the same diversifiedsymmetric key. This diversified symmetric key, not the master symmetrickey, is used to protect the sensitive data.

As explained above, both the transmitting device and receiving deviceeach initially possess the shared master symmetric key. The sharedmaster symmetric key is not used to encrypt the original sensitive data.Because the diversified symmetric key is independently created by boththe transmitting device and receiving device, it is never transmittedbetween the two parties. Thus, an attacker cannot intercept thediversified symmetric key and the attacker never sees any data which wasprocessed with the master symmetric key. Only the small counter value isprocessed with the master symmetric key, not the sensitive data. As aresult, reduced side-channel data about the master symmetric key isrevealed. Moreover, the sender and the recipient may agree, for exampleby prior arrangement or other means, how often to create a newdiversification value, and therefore a new diversified symmetric key. Inan embodiment, a new diversification value and therefore a newdiversified symmetric key may be created for every exchange between thetransmitting device and receiving device.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device to thereceiving device; the full value of a counter value sent from thetransmitting device and the receiving device; a portion of a countervalue sent from the transmitting device and the receiving device; acounter independently maintained by the transmitting device and thereceiving device but not sent between the two; a one-time-passcodeexchanged between the transmitting device and the receiving device;cryptographic hash of the sensitive data. In some examples, one or moreportions of the key diversification value may be used by the parties tocreate multiple diversified keys. For example, a counter may be used asthe key diversification value.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystem and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice and the receiving device. In effect, this may create a one-timeuse key, such as a single session key.

In other examples, such as to limit the number of times of use of themaster symmetric key, it may be agreed upon by the sender oftransmitting device and recipient of the receiving device that a newdiversification value, and therefore a new diversified symmetric key,will happen only periodically. In one example, this may be after apre-determined number of uses, such as every 10 transmissions betweenthe transmitting device and the receiving device. In another example,this may be after a certain time period, a certain time period after atransmission, or on a periodic basis (e.g., daily at a designated time;weekly at a designated time on a designated day). In another example,this may be every time the receiving device signals to the transmittingdevice that it desires to change the key on the next communication. Thismay be controlled on policy and may be varied due to, for example, thecurrent risk level perceived by the recipient of the receiving device.

FIG. 5A illustrates one or more contactless cards 500, which maycomprise a payment card, such as a credit card, debit card, or giftcard, issued by a service provider 505 displayed on the front or back ofthe card 500. In some examples, the contactless card 500 is not relatedto a payment card, and may comprise, without limitation, anidentification card. In some examples, the payment card may comprise adual interface contactless payment card. The contactless card 500 maycomprise a substrate 510, which may include a single layer or one ormore laminated layers composed of plastics, metals, and other materials.Exemplary substrate materials include polyvinyl chloride, polyvinylchloride acetate, acrylonitrile butadiene styrene, polycarbonate,polyesters, anodized titanium, palladium, gold, carbon, paper, andbiodegradable materials. In some examples, the contactless card 500 mayhave physical characteristics compliant with the ID-1 format of theISO/IEC 7810 standard, and the contactless card may otherwise becompliant with the ISO/IEC 14443 standard. However, it is understoodthat the contactless card 500 according to the present disclosure mayhave different characteristics, and the present disclosure does notrequire a contactless card to be implemented in a payment card.

The contactless card 500 may also include identification information 515displayed on the front and/or back of the card, and a contact pad 520.The contact pad 520 may be configured to establish contact with anothercommunication device, such as a user device, smart phone, laptop,desktop, or tablet computer. The contactless card 500 may also includeprocessing circuitry, antenna and other components not shown in FIG. 5A.These components may be located behind the contact pad 520 or elsewhereon the substrate 510. The contactless card 500 may also include amagnetic strip or tape, which may be located on the back of the card(not shown in FIG. 5A).

As illustrated in FIG. 5B, the contact pad 520 of FIG. 5A may includeprocessing circuitry 525 for storing and processing information,including a microprocessor 530 and a memory 535. It is understood thatthe processing circuitry 525 may contain additional components,including processors, memories, error and parity/CRC checkers, dataencoders, anticollision algorithms, controllers, command decoders,security primitives and tamperproofing hardware, as necessary to performthe functions described herein.

The memory 535 may be a read-only memory, write-once read-multiplememory or read/write memory, e.g., RAM, ROM, and EEPROM, and thecontactless card 500 may include one or more of these memories. Aread-only memory may be factory programmable as read-only or one-timeprogrammable. One-time programmability provides the opportunity to writeonce then read many times. A write once/read-multiple memory may beprogrammed at a point in time after the memory chip has left thefactory. Once the memory is programmed, it may not be rewritten, but itmay be read many times. A read/write memory may be programmed andre-programed many times after leaving the factory. It may also be readmany times.

The memory 535 may be configured to store one or more applets 540, oneor more counters 545, and a customer identifier 550. The one or moreapplets 540 may comprise one or more software applications configured toexecute on one or more contactless cards, such as Java Card applet.However, it is understood that applets 540 are not limited to Java Cardapplets, and instead may be any software application operable oncontactless cards or other devices having limited memory. The one ormore counters 545 may comprise a numeric counter sufficient to store aninteger. The customer identifier 550 may comprise a unique alphanumericidentifier assigned to a user of the contactless card 500, and theidentifier may distinguish the user of the contactless card from othercontactless card users. In some examples, the customer identifier 550may identify both a customer and an account assigned to that customerand may further identify the contactless card associated with thecustomer's account.

The processor and memory elements of the foregoing exemplary embodimentsare described with reference to the contact pad, but the presentdisclosure is not limited thereto. It is understood that these elementsmay be implemented outside of the pad 520 or entirely separate from it,or as further elements in addition to processor 530 and memory 535elements located within the contact pad 520.

In some examples, the contactless card 500 may comprise one or moreantennas 555. The one or more antennas 555 may be placed within thecontactless card 500 and around the processing circuitry 525 of thecontact pad 520. For example, the one or more antennas 555 may beintegral with the processing circuitry 525 and the one or more antennas555 may be used with an external booster coil. As another example, theone or more antennas 555 may be external to the contact pad 520 and theprocessing circuitry 525.

In an embodiment, the coil of contactless card 500 may act as thesecondary of an air core transformer. The terminal may communicate withthe contactless card 500 by cutting power or amplitude modulation. Thecontactless card 500 may infer the data transmitted from the terminalusing the gaps in the contactless card's power connection, which may befunctionally maintained through one or more capacitors. The contactlesscard 500 may communicate back by switching a load on the contactlesscard's coil or load modulation. Load modulation may be detected in theterminal's coil through interference.

As explained above, the contactless cards 500 may be built on a softwareplatform operable on smart cards or other devices having limited memory,such as JavaCard, and one or more or more applications or applets may besecurely executed. Applets may be added to contactless cards to providea one-time password (OTP) for multifactor authentication (MFA) invarious mobile application-based use cases. Applets may be configured torespond to one or more requests, such as near field data exchangerequests, from a reader, such as a mobile NFC reader, and produce anNDEF message that comprises a cryptographically secure OTP encoded as anNDEF text tag.

FIG. 6 illustrates NDEF short-record layout (SR=1) 600 according to anexample embodiment. One or more applets may be configured to encode theOTP as an NDEF type 4 well known type text tag. In some examples, NDEFmessages may comprise one or more records. The applets may be configuredto add one or more static tag records in addition to the OTP record.Exemplary tags include, without limitation, Tag type: well known type,text, encoding English (en); Applet ID: D2760000850101; Capabilities:read-only access; Encoding: the authentication message may be encoded asASCII hex; type-length-value (TLV) data may be provided as apersonalization parameter that may be used to generate the NDEF message.In an embodiment, the authentication template may comprise the firstrecord, with a well-known index for providing the actual dynamicauthentication data.

FIG. 7 illustrates a message 710 and a message format 720 according toan example embodiment. In one example, if additional tags are to beadded, the first byte may change to indicate message begin, but not end,and a subsequent record may be added. Because ID length is zero, IDlength field and ID are omitted from the record. An example message mayinclude: UDK AUT key; Derived AUT session key (using 0x00000050);Version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<eight computedbytes>.

In some examples, data may be stored in the contactless card atpersonalization time by implementing STORE DATA (E2) under securechannel protocol 2. One or more values may be read by thepersonalization bureau from the EMBOSS files (in a section designated bythe Applet ID) and one or more store data commands may be transmitted tothe contactless card after authentication and secure channelestablishment.

pUID may comprise a 16-digit BCD encoded number. In some examples, pUIDmay comprise 14 digits.

Length Item (bytes) Encrypted? Notes pUID 8 No AutKey 16 Yes 3DES Keyfor Deriving MAC session keys AutKCV 3 No Key Check Value DEKKey 16 Yes3DES Key for deriving Encryption session key DEKKCV 3 No Key Check ValueCard Shared 4 bytes No 4 Byte True Random number Random (pre-generated)NTLV X Bytes No TLV data for NDEF message

In some examples, the one or more applets may be configured to maintainits personalization state to allow personalization only if unlocked andauthenticated. Other states may comprise standard statespre-personalization. On entering into a terminated state, the one ormore applets may be configured to remove personalization data. In theterminated state, the one or more applets may be configured to stopresponding to all application protocol data unit (APDU) requests.

The one or more applets may be configured to maintain an applet version(2 bytes), which may be used in the authentication message. In someexamples, this may be interpreted as most significant byte majorversion, least significant byte minor version. The rules for each of theversions are configured to interpret the authentication message: Forexample, regarding the major version, this may include that each majorversion comprise a specific authentication message layout and specificalgorithms. For the minor version, this may include no changes to theauthentication message or cryptographic algorithms, and changes tostatic tag content, in addition to bug fixes, security hardening, etc.

In some examples, the one or more applets may be configured to emulatean RFID tag. The RFID tag may include one or more polymorphic tags. Insome examples, each time the tag is read, different cryptographic datais presented that may indicate the authenticity of the contactless card.Based on the one or more applications, an NFC read of the tag may beprocessed, the token may be transmitted to a server, such as a backendserver, and the token may be validated at the server.

In some examples, the contactless card and server may include certaindata such that the card may be properly identified. The contactless cardmay comprise one or more unique identifiers. Each time a read operationtakes place, a counter may be configured to update. In some examples,each time the card is read, it is transmitted to the server forvalidation and determines whether the counter is equal (as part of thevalidation).

The one or more counters may be configured to prevent a replay attack.For example, if a cryptogram has been obtained and replayed, thatcryptogram is immediately rejected if the counter has been read or usedor otherwise passed over. If the counter has not been used, it may bereplayed. In some examples, the counter that is updated on the card isdifferent from the counter that is updated for transactions. In someexamples, the contactless card may comprise a first applet, which may bea transaction applet, and a second applet. Each applet may comprise acounter.

In some examples, the counter may get out of sync between thecontactless card and one or more servers. For example, the contactlesscard may be activated causing the counter to be updated and a newcommunication to be generated by the contactless card, but thecommunication may be not be transmitted for processing at the one ormore servers. This may cause the counter of the contactless card and thecounter maintained at the one or more servers to get out of sync. Thismay occur unintentionally including, for example, where a card is storedadjacent to a device (e.g., carried in a pocket with a device) and wherethe contactless card is read at an angle may include the card beingmisaligned or not positioned such that the contactless card is poweredup an the NFC field but is not readable. If the contactless card ispositioned adjacent to a device, the device's NFC field may be turned onto power the contactless card causing the counter therein to be updated,but no application on the device receives the communication.

To keep the counter in sync, an application, such as a backgroundapplication, may be executed that would be configured to detect when themobile device wakes up and synchronize with the one or more serversindicating that a read that occurred due to detection to then move thecounter forward. Since the counters of the contactless card and the oneor more servers may get out of sync, the one or more servers may beconfigured to allow the counter of the contactless card to be updated athreshold or predetermined number of times before it is read by the oneor more servers and still be considered valid. For example, if thecounter is configured to increment (or decrement) by one for eachoccurrence indicating activation of the contactless card, the one ormore servers may allow any counter value it reads from the contactlesscard as valid, or any counter value within a threshold range (e.g., from1 to 10). Moreover, the one or more servers may be configured to requesta gesture associated with the contactless card, such as a user tap, ifit reads a counter value which has advanced beyond 10, but below anotherthreshold range value (such as 1000). From the user tap, if the countervalue is within a desired or acceptance range, authentication succeeds.

FIG. 8 is a flowchart illustrating key operations 800 according to anexample embodiment. As illustrated in FIG. 8, at block 810, two bankidentifier number (BIN) level master keys may be used in conjunctionwith the account identifier and card sequence number to produce twounique derived keys (UDKs) per card. In some examples, a bank identifiernumber may comprise one number or a combination of one or more numbers,such as an account number or an unpredictable number provided by one ormore servers, may be used for session key generation and/ordiversification. The UDKs (AUTKEY and ENCKEY) may be stored on the cardduring the personalization process.

At block 820, the counter may be used as the diversification data, sinceit changes with each use and provides a different session key each time,as opposed to the master key derivation in which one unique set of keysper card is produced. In some examples, it is preferable to use the4-byte method for both operations. Accordingly, at block 820, twosession keys may be created for each transaction from the UDKs, i.e.,one session key from AUTKEY and one session key from ENCKEY. In thecard, for the MAC key (i.e., the session key created from AUTKEY), thelow order of two bytes of the OTP counter may be used fordiversification. For the ENC key (i.e., the session key created fromENCKEY), the full length of the OTP counter may be used for the ENC key.

At block 830, the MAC key may be used for preparing the MAC cryptogram,and the ENC key may be used to encrypt the cryptogram. For example, theMAC session key may be used to prepare the cryptogram, and the resultmay be encrypted with the ENC key before it is transmitted to the one ormore servers.

At block 840, verification and processing of the MAC is simplifiedbecause 2-byte diversification is directly supported in the MACauthentication functions of payment HSMs. Decryption of the cryptogramis performed prior to verification of the MAC. The session keys areindependently derived at the one or more servers, resulting in a firstsession key (the ENC session key) and a second session key (the MACsession key). The second derived key (i.e., the ENC session key) may beused to decrypt the data, and the first derived key (i.e., the MACsession key) may be used to verify the decrypted data.

For the contactless card, a different unique identifier is derived whichmay be related to the application primary account number (PAN) and PANsequence number, which is encoded in the card. The key diversificationmay be configured to receive the identifier as input with the master keysuch that one or more keys may be created for each contactless card. Insome examples, these diversified keys may comprise a first key and asecond key. The first key may include an authentication master key (CardCryptogram Generation/Authentication Key—Card-Key-Auth), and may befurther diversified to create a MAC session key used when generating andverifying a MAC cryptogram. The second key may comprise an encryptionmaster key (Card Data Encryption Key—Card-Key-DEK), and may be furtherdiversified to create an ENC session key used when encrypting anddecrypting enciphered data. In some examples, the first and the secondkeys may be created by diversifying the issuer master keys by combiningthem with the card's unique ID number (pUID) and the PAN sequence number(PSN) of a payment applet. The pUID may comprise a 16-digit numericalvalue. As explained above, pUID may comprise a 16 digit BCD encodednumber. In some examples, pUID may comprise a 14-digit numerical value.

In some examples, since the EMV session key derivation method may wrapat 2̂16 uses, the counter such as the full 32-bit counter may be added tothe initialization arrays of the diversification method.

In other examples, such as credit cards, a number, such as an accountnumber or an unpredictable number provided by one or more servers, maybe used for session key generation and/or diversification.

FIG. 9 illustrates a diagram of a system 900 configured to implement oneor more embodiments of the present disclosure. As explained below,during the contactless card creation process, two cryptographic keys maybe assigned uniquely for each card. The cryptographic keys may comprisesymmetric keys which may be used in both encryption and decryption ofdata. Triple DES (3DES) algorithm may be used by EMV and it isimplemented by hardware in the contactless card. By using a keydiversification process, one or more keys may be derived from a masterkey based upon uniquely identifiable information for each entity thatrequires a key.

Regarding master key management, two issuer master keys 905, 910 may berequired for each part of the portfolio on which the one or more appletsis issued. For example, the first master key 905 may comprise an IssuerCryptogram Generation/Authentication Key (Iss-Key-Auth) and the secondmaster key 910 may comprise an Issuer Data Encryption Key (Iss-Key-DEK).As further explained herein, two issuer master keys 905, 910 arediversified into card master keys 925, 930, which are unique for eachcard. In some examples, a network profile record ID (pNPR) 915 andderivation key index (pDKI) 920, as back office data, may be used toidentify which Issuer Master Keys 905, 910 to use in the cryptographicprocesses for authentication. The system performing the authenticationmay be configured to retrieve values of pNPR 915 and pDKI 920 for acontactless card at the time of authentication.

In some examples, to increase the security of the solution, a sessionkey may be derived (such as a unique key per session) but rather thanusing the master key, the unique card-derived keys and the counter maybe used as diversification data, as explained above. For example, eachtime the card is used in operation, a different key may be used forcreating the message authentication code (MAC) and for performing theencryption. Regarding session key generation, the keys used to generatethe cryptogram and encipher the data in the one or more applets maycomprise session keys based on the card unique keys (Card-Key-Auth 925and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 andDEK-Session-Key 940) may be generated by the one or more applets andderived by using the application transaction counter (pATC) 945 with oneor more algorithms. To fit data into the one or more algorithms, onlythe 2 low order bytes of the 4-byte pATC 945 is used. In some examples,the four byte session key derivation method may comprise: F1:=PATC(lower2 bytes)∥‘F0’∥‘00’∥PATC (four bytes) F1:=PATC(lower 2bytes)∥‘0F’∥‘00’∥PATC (four bytes) SK:={(ALG (MK) [F1])∥ALG (MK) [F2]},where ALG may include 3DES ECB and MK may include the card uniquederived master key.

As described herein, one or more MAC session keys may be derived usingthe lower two bytes of pATC 945 counter. At each tap of the contactlesscard, pATC 945 is configured to be updated, and the card master keysCard-Key-AUTH 925 and Card-Key-DEK 930 are further diversified into thesession keys Aut-Session-Key 935 and DEK-Session-KEY 940. pATC 945 maybe initialized to zero at personalization or applet initialization time.In some examples, the pATC counter 945 may be initialized at or beforepersonalization, and may be configured to increment by one at each NDEFread.

Further, the update for each card may be unique, and assigned either bypersonalization, or algorithmically assigned by pUID or otheridentifying information. For example, odd numbered cards may incrementor decrement by 2 and even numbered cards may increment or decrement by5. In some examples, the update may also vary in sequential reads, suchthat one card may increment in sequence by 1, 3, 5, 2, 2, . . .repeating. The specific sequence or algorithmic sequence may be definedat personalization time, or from one or more processes derived fromunique identifiers. This can make it harder for a replay attacker togeneralize from a small number of card instances.

The authentication message may be delivered as the content of a textNDEF record in hexadecimal ASCII format. In some examples, only theauthentication data and an 8-byte random number followed by MAC of theauthentication data may be included. In some examples, the random numbermay precede cryptogram A and may be one block long. In other examples,there may be no restriction on the length of the random number. Infurther examples, the total data (i.e., the random number plus thecryptogram) may be a multiple of the block size. In these examples, anadditional 8-byte block may be added to match the block produced by theMAC algorithm. As another example, if the algorithms employed used16-byte blocks, even multiples of that block size may be used, or theoutput may be automatically, or manually, padded to a multiple of thatblock size.

The MAC may be performed by a function key (AUT-Session-Key) 935. Thedata specified in cryptogram may be processed with javacard.signaturemethod: ALG_DES_MAC8_ ISO9797_1_M2_ALG3 to correlate to EMV ARQCverification methods. The key used for this computation may comprise asession key AUT-Session-Key 935, as explained above. As explained above,the low order two bytes of the counter may be used to diversify for theone or more MAC session keys. As explained below, AUT-Session-Key 935may be used to MAC data 950, and the resulting data or cryptogram A 955and random number RND may be encrypted using DEK-Session-Key 940 tocreate cryptogram B or output 960 sent in the message.

In some examples, one or more HSM commands may be processed fordecrypting such that the final 16 (binary, 32 hex) bytes may comprise a3DES symmetric encrypting using CBC mode with a zero IV of the randomnumber followed by MAC authentication data. The key used for thisencryption may comprise a session key DEK-Session-Key 940 derived fromthe Card-Key-DEK 930. In this case, the ATC value for the session keyderivation is the least significant byte of the counter pATC 945.

The format below represents a binary version example embodiment.Further, in some examples, the first byte may be set to ASCII ‘A’.

Message Format 1 2 4 8 8 0x43 (Message Type ‘A’) Version pATC RNDCryptogram A (MAC) Cryptogram A (MAC) 8 bytes MAC of 2 8 4 4 18 bytesinput data Version pUID pATC Shared Secret Message Format 1 2 4 16 0x43(Message Type ‘A’) Version pATC Cryptogram B Cryptogram A (MAC) 8 bytesMAC of 2 8 4 4 18 bytes input data Version pUID pATC Shared SecretCryptogram B 16 Sym Encryption of 8 8 RND Cryptogram A

Another exemplary format is shown below. In this example, the tag may beencoded in hexadecimal format.

Message Format 2 8 4 8 8 Version pUID pATC RND Cryptogram A (MAC) 8bytes 8 8 4 4 18 bytes input data pUID pUID pATC Shared Secret MessageFormat 2 8 4 16 Version pUID pATC Cryptogram B 8 bytes 8 4 4 18 bytesinput data pUID pUID pATC Shared Secret Cryptogram B 16 Sym Encryptionof 8 8 RND Cryptogram A

The UID field of the received message may be extracted to derive, frommaster keys Iss-Key-AUTH 905 and Iss-Key-DEK 910, the card master keys(Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card. Usingthe card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), thecounter (pATC) field of the received message may be used to derive thesession keys (Aut-Session-Key 935 and DEK-Session-Key 940) for thatparticular card. Cryptogram B 960 may be decrypted using theDEK-Session-KEY, which yields cryptogram A 955 and RND, and RND may bediscarded. The UID field may be used to look up the shared secret of thecontactless card which, along with the Ver, UID, and pATC fields of themessage, may be processed through the cryptographic MAC using there-created Aut-Session-Key to create a MAC output, such as MAC′. If MAC′is the same as cryptogram A 955, then this indicates that the messagedecryption and MAC checking have all passed. Then the pATC may be readto determine if it is valid.

During an authentication session, one or more cryptograms may begenerated by the one or more applications. For example, the one or morecryptograms may be generated as a 3DES MAC using ISO 9797-1 Algorithm 3with Method 2 padding via one or more session keys, such asAut-Session-Key 935. The input data 950 may take the following form:Version (2), pUID (8), pATC (4), Shared Secret (4). In some examples,the numbers in the brackets may comprise length in bytes. In someexamples, the shared secret may be generated by one or more randomnumber generators which may be configured to ensure, through one or moresecure processes, that the random number is unpredictable. In someexamples, the shared secret may comprise a random 4-byte binary numberinjected into the card at personalization time that is known by theauthentication service. During an authentication session, the sharedsecret may not be provided from the one or more applets to the mobileapplication. Method 2 padding may include adding a mandatory 0x‘80’ byteto the end of input data and 0x‘00’ bytes that may be added to the endof the resulting data up to the 8-byte boundary. The resultingcryptogram may comprise 8 bytes in length.

In some examples, one benefit of encrypting an unshared random number asthe first block with the MAC cryptogram, is that it acts as aninitialization vector while using CBC (Block chaining) mode of thesymmetric encryption algorithm. This allows the “scrambling” from blockto block without having to pre-establish either a fixed or dynamic IV.

By including the application transaction counter (pATC) as part of thedata included in the MAC cryptogram, the authentication service may beconfigured to determine if the value conveyed in the clear data has beentampered with. Moreover, by including the version in the one or morecryptograms, it is difficult for an attacker to purposefullymisrepresent the application version in an attempt to downgrade thestrength of the cryptographic solution. In some examples, the pATC maystart at zero and be updated by 1 each time the one or more applicationsgenerates authentication data. The authentication service may beconfigured to track the pATCs used during authentication sessions. Insome examples, when the authentication data uses a pATC equal to orlower than the previous value received by the authentication service,this may be interpreted as an attempt to replay an old message, and theauthenticated may be rejected. In some examples, where the pATC isgreater than the previous value received, this may be evaluated todetermine if it is within an acceptable range or threshold, and if itexceeds or is outside the range or threshold, verification may be deemedto have failed or be unreliable. In the MAC operation 936, data 950 isprocessed through the MAC using Aut-Session-Key 935 to produce MACoutput (cryptogram A) 955, which is encrypted.

In order to provide additional protection against brute force attacksexposing the keys on the card, it is desirable that the MAC cryptogram955 be enciphered. In some examples, data or cryptogram A 955 to beincluded in the ciphertext may comprise: Random number (8), cryptogram(8). In some examples, the numbers in the brackets may comprise lengthin bytes. In some examples, the random number may be generated by one ormore random number generators which may be configured to ensure, throughone or more secure processes, that the random number is unpredictable.The key used to encipher this data may comprise a session key. Forexample, the session key may comprise DEK-Session-Key 940. In theencryption operation 941, data or cryptogram A 955 and RND are processedusing DEK-Session-Key 940 to produce encrypted data, cryptogram B 960.The data 955 may be enciphered using 3DES in cipher block chaining modeto ensure that an attacker must run any attacks over all of theciphertext. As a non-limiting example, other algorithms, such asAdvanced Encryption Standard (AES), may be used. In some examples, aninitialization vector of 0x‘0000000000000000’ may be used. Any attackerseeking to brute force the key used for enciphering this data will beunable to determine when the correct key has been used, as correctlydecrypted data will be indistinguishable from incorrectly decrypted datadue to its random appearance.

In order for the authentication service to validate the one or morecryptograms provided by the one or more applets, the following data mustbe conveyed from the one or more applets to the mobile device in theclear during an authentication session: version number to determine thecryptographic approach used and message format for validation of thecryptogram, which enables the approach to change in the future; pUID toretrieve cryptographic assets, and derive the card keys; and pATC toderive the session key used for the cryptogram.

FIG. 10 illustrates a method 1000 for generating a cryptogram. Forexample, at block 1010, a network profile record ID (pNPR) andderivation key index (pDKI) may be used to identify which Issuer MasterKeys to use in the cryptographic processes for authentication. In someexamples, the method may include performing the authentication toretrieve values of pNPR and pDKI for a contactless card at the time ofauthentication.

At block 1020, Issuer Master Keys may be diversified by combining themwith the card's unique ID number (pUID) and the PAN sequence number(PSN) of one or more applets, for example, a payment applet.

At block 1030, Card-Key-Auth and Card-Key-DEK (unique card keys) may becreated by diversifying the Issuer Master Keys to generate session keyswhich may be used to generate a MAC cryptogram.

At block 1040, the keys used to generate the cryptogram and encipher thedata in the one or more applets may comprise the session keys of block1030 based on the card unique keys (Card-Key-Auth and Card-Key-DEK). Insome examples, these session keys may be generated by the one or moreapplets and derived by using pATC, resulting in session keysAut-Session-Key and DEK-Session-Key.

FIG. 11 depicts an exemplary process 1100 illustrating keydiversification according to one example. Initially, a sender and therecipient may be provisioned with two different master keys. Forexample, a first master key may comprise the data encryption master key,and a second master key may comprise the data integrity master key. Thesender has a counter value, which may be updated at block 1110, andother data, such as data to be protected, which it may secure share withthe recipient.

At block 1120, the counter value may be encrypted by the sender usingthe data encryption master key to produce the data encryption derivedsession key, and the counter value may also be encrypted by the senderusing the data integrity master key to produce the data integrityderived session key. In some examples, a whole counter value or aportion of the counter value may be used during both encryptions.

In some examples, the counter value may not be encrypted. In theseexamples, the counter may be transmitted between the sender and therecipient in the clear, i.e., without encryption.

At block 1130, the data to be protected is processed with acryptographic MAC operation by the sender using the data integritysession key and a cryptographic MAC algorithm. The protected data,including plaintext and shared secret, may be used to produce a MACusing one of the session keys (AUT-Session-Key).

At block 1140, the data to be protected may be encrypted by the senderusing the data encryption derived session key in conjunction with asymmetric encryption algorithm. In some examples, the MAC is combinedwith an equal amount of random data, for example each 8 bytes long, andthen encrypted using the second session key (DEK-Session-Key).

At block 1150, the encrypted MAC is transmitted, from the sender to therecipient, with sufficient information to identify additional secretinformation (such as shared secret, master keys, etc.), for verificationof the cryptogram.

At block 1160, the recipient uses the received counter value toindependently derive the two derived session keys from the two masterkeys as explained above.

At block 1170, the data encryption derived session key is used inconjunction with the symmetric decryption operation to decrypt theprotected data. Additional processing on the exchanged data will thenoccur. In some examples, after the MAC is extracted, it is desirable toreproduce and match the MAC. For example, when verifying the cryptogram,it may be decrypted using appropriately generated session keys. Theprotected data may be reconstructed for verification. A MAC operationmay be performed using an appropriately generated session key todetermine if it matches the decrypted MAC. As the MAC operation is anirreversible process, the only way to verify is to attempt to recreateit from source data.

At block 1180, the data integrity derived session key is used inconjunction with the cryptographic MAC operation to verify that theprotected data has not been modified.

Some examples of the methods described herein may advantageously confirmwhen a successful authentication is determined when the followingconditions are met. First, the ability to verify the MAC shows that thederived session key was proper. The MAC may only be correct if thedecryption was successful and yielded the proper MAC value. Thesuccessful decryption may show that the correctly derived encryption keywas used to decrypt the encrypted MAC. Since the derived session keysare created using the master keys known only to the sender (e.g., thetransmitting device) and recipient (e.g., the receiving device), it maybe trusted that the contactless card which originally created the MACand encrypted the MAC is indeed authentic. Moreover, the counter valueused to derive the first and second session keys may be shown to bevalid and may be used to perform authentication operations.

Thereafter, the two derived session keys may be discarded, and the nextiteration of data exchange will update the counter value (returning toblock 1110) and a new set of session keys may be created (at block1120). In some examples, the combined random data may be discarded.

Example embodiments of systems and methods described herein may beconfigured to provide security factor authentication. The securityfactor authentication may comprise a plurality of processes. As part ofthe security factor authentication, a first process may comprise loggingin and validating a user via one or more applications executing on adevice. As a second process, the user may, responsive to successfullogin and validation of the first process via the one or moreapplications, engage in one or more behaviors associated with one ormore contactless cards. In effect, the security factor authenticationmay include both securely proving identity of the user and engaging inone or more types of behaviors, including but not limited to one or moretap gestures, associated with the contactless card. In some examples,the one or more tap gestures may comprise a tap of the contactless cardby the user to a device. In some examples, the device may comprise amobile device, a kiosk, a terminal, a tablet, or any other deviceconfigured to process a received tap gesture.

In some examples, the contactless card may be tapped to a device, suchas one or more computer kiosks or terminals, to verify identity so as toreceive a transactional item responsive to a purchase, such as a coffee.By using the contactless card, a secure method of proving identity in aloyalty program may be established. Securely proving the identity, forexample, to obtain a reward, coupon, offer, or the like or receipt of abenefit is established in a manner that is different than merelyscanning a bar card. For example, an encrypted transaction may occurbetween the contactless card and the device, which may configured toprocess one or more tap gestures. As explained above, the one or moreapplications may be configured to validate identity of the user and thencause the user to act or respond to it, for example, via one or more tapgestures. In some examples, data for example, bonus points, loyaltypoints, reward points, healthcare information, etc., may be written backto the contactless card.

In some examples, the contactless card may be tapped to a device, suchas a mobile device. As explained above, identity of the user may beverified by the one or more applications which would then grant the usera desired benefit based on verification of the identity.

In some examples, the contactless card may be activated by tapping to adevice, such as a mobile device. For example, the contactless card maycommunicate with an application of the device via a card reader of thedevice through NFC communication. The communication, in which a tap ofthe card proximate the card reader of the device may allow theapplication of the device to read data associated with the contactlesscard and activate the card. In some examples, the activation mayauthorize the card to be used to perform other functions, e.g.,purchases, access account or restricted information, or other functions.In some examples, the tap may activate or launch the application of thedevice and then initiate one or more actions or communications with oneor more servers to activate the contactless card. If the application isnot installed on the device, a tap of the contactless card proximate thecard reader may initiate a download of the application, such asnavigation to a download page of the application). Subsequent toinstallation, a tap of the contactless card may activate or launch theapplication, and then initiate, for example via the application or otherback-end communication), activation of the contactless card. Afteractivation, the contactless card may be used in various activities,including without limitation commercial transactions.

In some embodiments, a dedicated application may be configured toexecute on a client device to perform the activation of the contactlesscard. In other embodiments, a webportal, a web-based app, an applet,and/or the like may perform the activation. Activation may be performedon the client device, or the client device may merely act as a gobetween for the contactless card and an external device (e.g., accountserver). According to some embodiments, in providing activation, theapplication may indicate, to the account server, the type of deviceperforming the activation (e.g., personal computer, smartphone, tablet,or point-of-sale (POS) device). Further, the application may output, fortransmission, different and/or additional data to the account serverdepending on the type of device involved. For example, such data maycomprise information associated with a merchant, such as merchant type,merchant ID, and information associated with the device type itself,such as POS data and POS ID.

In some embodiments, the example authentication communication protocolmay mimic an offline dynamic data authentication protocol of the EMVstandard that is commonly performed between a transaction card and apoint-of-sale device, with some modifications. For example, because theexample authentication protocol is not used to complete a paymenttransaction with a card issuer/payment processor per se, some datavalues are not needed, and authentication may be performed withoutinvolving real-time online connectivity to the card issuer/paymentprocessor. As is known in the art, point of sale (POS) systems submittransactions including a transaction value to a card issuer. Whether theissuer approves or denies the transaction may be based on if the cardissuer recognizes the transaction value. Meanwhile, in certainembodiments of the present disclosure, transactions originating from amobile device lack the transaction value associated with the POSsystems. Therefore, in some embodiments, a dummy transaction value(i.e., a value recognizable to the card issuer and sufficient to allowactivation to occur) may be passed as part of the example authenticationcommunication protocol. POS based transactions may also declinetransactions based on the number of transaction attempts (e.g.,transaction counter). A number of attempts beyond a buffer value mayresult in a soft decline; the soft decline requiring furtherverification before accepting the transaction. In some implementations,a buffer value for the transaction counter may be modified to avoiddeclining legitimate transactions.

In some examples, the contactless card can selectively communicateinformation depending upon the recipient device. Once tapped, thecontactless card can recognize the device to which the tap is directed,and based on this recognition the contactless card can provideappropriate data for that device. This advantageously allows thecontactless card to transmit only the information required to completethe instant action or transaction, such as a payment or cardauthentication. By limiting the transmission of data and avoiding thetransmission of unnecessary data, both efficiency and data security canbe improved. The recognition and selective communication of informationcan be applied to a various scenarios, including card activation,balance transfers, account access attempts, commercial transactions, andstep-up fraud reduction.

If the contactless card tap is directed to a device running Apple's iOS®operating system, e.g., an iPhone, iPod, or iPad, the contactless cardcan recognize the iOS® operating system and transmit data appropriatedata to communicate with this device. For example, the contactless cardcan provide the encrypted identity information necessary to authenticatethe card using NDEF tags via, e.g., NFC. Similarly, if the contactlesscard tap is directed to a device running the Android® operating system,e.g., an Android® smartphone or tablet, the contactless card canrecognize the Android® operating system and transmit appropriate anddata to communicate with this device (such as the encrypted identityinformation necessary for authentication by the methods describedherein).

As another example, the contactless card tap can be directed to a POSdevice, including without limitation a kiosk, a checkout register, apayment station, or other terminal. Upon performance of the tap, thecontactless card can recognize the POS device and transmit only theinformation necessary for the action or transaction. For example, uponrecognition of a POS device used to complete a commercial transaction,the contactless card can communicate payment information necessary tocomplete the transaction under the EMV standard.

In some examples, the POS devices participating in the transaction canrequire or specify additional information, e.g., device-specificinformation, location-specific information, and transaction-specificinformation, that is to be provided by the contactless card. Forexample, once the POS device receives a data communication from thecontactless card, the POS device can recognize the contactless card andrequest the additional information necessary to complete an action ortransaction.

In some examples the POS device can be affiliated with an authorizedmerchant or other entity familiar with certain contactless cards oraccustomed to performing certain contactless card transactions. However,it is understood such an affiliation is not required for the performanceof the described methods.

In some examples, such as a shopping store, grocery store, conveniencestore, or the like, the contactless card may be tapped to a mobiledevice without having to open an application, to indicate a desire orintent to utilize one or more of reward points, loyalty points, coupons,offers, or the like to cover one or more purchases. Thus, an intentionbehind the purchase is provided.

In some examples, the one or more applications may be configured todetermine that it was launched via one or more tap gestures of thecontactless card, such that a launch occurred at 3:51 pm, that atransaction was processed or took place at 3:56 pm, in order to verifyidentity of the user.

In some examples, the one or more applications may be configured tocontrol one or more actions responsive to the one or more tap gestures.For example, the one or more actions may comprise collecting rewards,collecting points, determine the most important purchase, determine theleast costly purchase, and/or reconfigure, in real-time, to anotheraction.

In some examples, data may be collected on tap behaviors asbiometric/gestural authentication. For example, a unique identifier thatis cryptographically secure and not susceptible to interception may betransmitted to one or more backend services. The unique identifier maybe configured to look up secondary information about individual. Thesecondary information may comprise personally identifiable informationabout the user. In some examples, the secondary information may bestored within the contactless card.

In some examples, the device may comprise an application that splitsbills or check for payment amongst a plurality of individuals. Forexample, each individual may possess a contactless card, and may becustomers of the same issuing financial institution, but it is notnecessary. Each of these individuals may receive a push notification ontheir device, via the application, to split the purchase. Rather thanaccepting only one card tap to indicate payment, other contactless cardsmay be used. In some examples, individuals who have different financialinstitutions may possess contactless cards to provide information toinitiate one or more payment requests from the card-tapping individual.

The following example use cases describe examples of particularimplementations of the present disclosure. These are intended solely forexplanatory purposes and not for purposes of limitation. In one case, afirst friend (payor) owes a second friend (payee) a sum of money. Ratherthan going to an ATM or requiring exchange through a peer-to-peerapplication, payor wishes to pay via payee's smartphone (or otherdevice) using a contactless card. Payee logs-on to the appropriateapplication on his smartphone and selects a payment request option. Inresponse, the application requests authentication via payee'scontactless card. For example, the application outputs a displayrequesting that payee tap his contactless card. Once payee taps hiscontactless card against the screen of his smartphone with theapplication enabled, the contactless card is read and verified. Next,the application displays a prompt for payor to tap his contactless cardto send payment. After the payor taps his contactless card, theapplication reads the card information and transmits, via an associatedprocessor, a request for payment to payor's card issuer. The card issuerprocesses the transaction and sends a status indicator of thetransaction to the smartphone. The application then outputs for displaythe status indicator of the transaction.

In another example case, a credit card customer may receive a new creditcard (or debit card, other payment card, or any other card requiringactivation) in the mail. Rather than activating the card by calling aprovided telephone number associated with the card issuer or visiting awebsite, the customer may decide to activate the card via an applicationon his or her device (e.g., a mobile device such as a smartphone). Thecustomer may select the card activation feature from the application'smenu that is displayed on a display of the device. The application mayprompt the customer to tap his or her credit card against the screen.Upon tapping the credit card against the screen of the device, theapplication may be configured to communicate with a server, such as acard issuer server which activates the customer's card. The applicationmay then displays a message indicating successful activation of thecard. The card activation would then be complete.

FIG. 12 illustrates a method 1200 for card activation according to anexample embodiment. For example, card activation may be completed by asystem including a card, a device, and one or more servers. Thecontactless card, device, and one or more servers may reference same orsimilar components that were previously explained above with referenceto FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105,client device 110, and server 120.

In block 1210, the card may be configured to dynamically generate data.In some examples, this data may include information such as an accountnumber, card identifier, card verification value, or phone number, whichmay be transmitted from the card to the device. In some examples, one ormore portions of the data may be encrypted via the systems and methodsdisclosed herein.

In block 1220, one or more portions of the dynamically generated datamay be communicated to an application of the device via NFC or otherwireless communication. For example, a tap of the card proximate to thedevice may allow the application of the device to read the one or moreportions of the data associated with the contactless card. In someexamples, if the device does not comprise an application to assist inactivation of the card, the tap of the card may direct the device orprompt the customer to a software application store to download anassociated application to activate the card. In some examples, the usermay be prompted to sufficiently gesture, place, or orient the cardtowards a surface of the device, such as either at an angle or flatlyplaced on, near, or proximate the surface of the device. Responsive to asufficient gesture, placement and/or orientation of the card, the devicemay proceed to transmit the one or more encrypted portions of datareceived from the card to the one or more servers.

In block 1230, the one or more portions of the data may be communicatedto one or more servers, such as a card issuer server. For example, oneor more encrypted portions of the data may be transmitted from thedevice to the card issuer server for activation of the card.

In block 1240, the one or more servers may decrypt the one or moreencrypted portions of the data via the systems and methods disclosedherein. For example, the one or more servers may receive the encrypteddata from the device and may decrypt it in order to compare the receiveddata to record data accessible to the one or more servers. If aresulting comparison of the one or more decrypted portions of the databy the one or more servers yields a successful match, the card may beactivated. If the resulting comparison of the one or more decryptedportions of the data by the one or more servers yields an unsuccessfulmatch, one or more processes may take place. For example, responsive tothe determination of the unsuccessful match, the user may be prompted totap, swipe, or wave gesture the card again. In this case, there may be apredetermined threshold comprising a number of attempts that the user ispermitted to activate the card. Alternatively, the user may receive anotification, such as a message on his or her device indicative of theunsuccessful attempt of card verification and to call, email or text anassociated service for assistance to activate the card, or anothernotification, such as a phone call on his or her device indicative ofthe unsuccessful attempt of card verification and to call, email or textan associated service for assistance to activate the card, or anothernotification, such as an email indicative of the unsuccessful attempt ofcard verification and to call, email or text an associated service forassistance to activate the card.

In block 1250, the one or more servers may transmit a return messagebased on the successful activation of the card. For example, the devicemay be configured to receive output from the one or more serversindicative of a successful activation of the card by the one or moreservers. The device may be configured to display a message indicatingsuccessful activation of the card. Once the card has been activated, thecard may be configured to discontinue dynamically generating data so asto avoid fraudulent use. In this manner, the card may not be activatedthereafter, and the one or more servers are notified that the card hasalready been activated.

In another example case, a customer wants to access his financialaccounts on his or her mobile phone. The customer launches anapplication (e.g., a bank application) on the mobile device and inputs ausername and password. At this stage, the customer may see first-levelaccount information (e.g., recent purchases) and be able to performfirst-level account options (e.g., pay credit-card). However, if theuser attempts to access second-level account information (e.g., spendinglimit) or perform a second-level account option (e.g., transfer toexternal system) he must have a second-factor authentication.Accordingly, the application requests that a user provide a transactioncard (e.g., credit card) for account verification. The user then tapshis credit card to the mobile device, and the application verifies thatthe credit card corresponds to the user's account. Thereafter, the usermay view second-level account data and/or perform second-level accountfunctions.

As explained above, the counter may be incremented by the applet, e.g.,each time an applet ID of an applet is requested over NFC. In someexamples, the counter can only increment if it is in the magnetic fieldof a device, such as a mobile phone, and the applet ID is requested.However, if transactions with a server are interrupted or if the appletis only partly read, it is possible for the counter on the contactlesscard and the counter on the backend to get out of sync. Keeping thesecounters in sync is therefore critical to system security and integrityfor a number of reasons, including preventing the playback of messagesin multiple attempts. As further discussed below, the systems andmethods describe how to resync the counter if the counters are notsynchronized.

Some variability in the counters is permitted and perfectsynchronization is not required. For resynchronization to occur, thebackend may receive multiple reads of the applet, by the mobile device,to determine that it is incrementing and to obtain a new value withwhich to synchronize. Thus, the backend may determine if the countervalue is arriving in the order as expected, and may be configured todisable the contactless card if it determines otherwise. The backend maybe configured to not accept any number previously used for the counter,as explained below.

FIG. 13 illustrates a system 1300, such as a counter resynchronizationsystem, comprising a contactless card 1305, a client device 1310, andone or more servers 1320. Although FIG. 13 illustrates single instancesof the components, system 1300 may include any number of components. Thecontactless card 1305, client device 1310, and one or more servers 1320may reference same or similar components that were previously explainedabove with reference to FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such ascontactless card 105, client device 110, and server 120.

The contactless card 1305 may include one or more processors 1307 and amemory 1309. The memory 1309 may comprise one or more applets 1311 and acounter 1313.

The client device 1310 may include one or more processors 1315 and amemory 1317. The client device 1310 may be in data communication withthe contactless card 1305 via a communication interface (not shown).

The one or more servers 1320 may be in data communication with theclient device 1310. The counter 1313 may be transmitted and compared bythe one or more servers 1320 to an expected counter value forsynchronization. By way of example, the one or more servers 1320 may beseeking a value that they are expecting. In one example, the counter ofthe contactless card may begin at zero. On the one or more servers 1320,its counter may begin at zero, and increment, for example by 1, suchthat the next expected counter would be 1. If 1 is the expected counter,and the one or more servers 1320 instead determines a different value,such as 10, a determination is made as to whether the different value iswithin a given window or range. To the extent that the different valueis within the window or range, then the counter may be set to 10 andtherefore accepted. To the extent that the different value is not withinthe window or range, for example 100, this value is clearly not equal to1, the expected counter value, and one or more messages may betransmitted to the client device 1310. In some examples, the one or moremessages may comprise an indication that the contactless card must begestured one or more times. Responsive to these one or more gestures,the counter value may be 101, and this may be an acceptable numberdetermined by the one or more servers 1320. However, in some examples,upon determination of any other number, the contactless card 1305 may bedeactivated. In some examples, the contactless card 1305 may be shutdown by the one or more servers 1320. For example, the one or moreservers 1320 may halt data communication with the contactless card 1305since the contactless card 1305 may be under attack, as discussed below.

The counter 1313 of the contactless card 1305 may be resynchronized, viaone or more synchronization processes, based on one or more reads of theone or more applets 1311 of the contactless card 1305. The one or moreservers 1320 may be configured to authenticate the contactless card 1305based on the resynchronization.

The counter 1313 may be configured to signal one or more attacks,including but not limited to nefarious activities such as unauthorizeduse, excessive use, card tampering, card communication interference, orany combination thereof. In some examples, one or more attacks may beassociated with physical access to the contactless card 1305. By way ofexample, these attacks may include attempted extraction of master keysfor a secure element of the contactless card 1305; side channel attacksthrough other communication pathways, such as the EMV chip contactinterface; and/or fuzzing of the contactless card 1305 or contactinterfaces with random or structured information attempting to overloador force an unintended response from one or more applets 1311 of thecontactless card 1305. In some examples, the counter 1313 may beadjusted, including but not limited to increment or decrement in anon-monotonic sequence. In other examples, the counter 1313 may beadjusted, including but limited to increment or decrement in a monotonicsequence. In some examples, the counter 1313 may be adjusted, includingbut not limited to increment or decrement in a randomly generated ornon-sequential sequence.

In other examples, an attack may be detected when an attacker attemptsto impersonate a message, for example by either intercepting a messageand attempting to modify the message, or by creating its own artificialmessage. These may be detected with, such as, message replay with apreviously used counter, such as the last counter stored on the one ormore servers 1320; message replay with a changed counter; message replaywith a changed account number and/or user identification; and/or amessage with an altered or constructed cryptogram.

In some examples, responsive to when the contactless card 1305 detectsone or more of the attacks, the one or more applets 1311 may beconfigured to perform one or more actions. For example, the one or moreapplets 1311 of contactless card 1305 may be configured to transition toa state to where it does not function at all. In another example, theone or more applets 1311 of contactless card 1305 may be configured tosignal to the one or more servers 1320 what attack has occurred, forexample, if a fuzzing attack was detected, then an encrypted valueindicative of the fuzzing attack may be sent to the one or more servers1320 so as to signal the one or more servers 1320 that the contactlesscard 1305 may be compromised.

In some examples, a single gesture or plurality of gestures of thecontactless card 1305 may be utilized as part of one or moresynchronization processes. For example, a first process may include theclient device 1305 configured to perform the one or more reads of theone or more applets 1311 during a single gesture by the contactless card1305 within a data communication field of the client device 1310.Moreover, the one or more servers 1320 may be configured to receive theone or more reads from the client device 1310 based on the singlegesture so as to resynchronize the counter 1313. In some examples, thesingle gesture may comprise a wave, tap, swipe, or any combinationthereof by the contactless card 1305 to the client device 1310. In someexamples, the first process may include a first window configured todetermine if an increment of the counter 1313 of the contactless card1305 belongs to a first monotonic or non-monotonic sequence. Forexample, if the increment of the counter 1313 of the contactless card1305 does not belong to the first monotonic sequence within the firstwindow, the contactless card 1305 may be prompted for one or moreadditional gestures. The one or more additional gestures may comprise awave, tap, swipe, or any combination thereof by the contactless card1305 to the client device 1310. If the counter 1313 is within a secondwindow including a second monotonic or non-monotonic sequence, thecounter 1313, responsive to the one or more additional gestures, may beresynchronized. If the counter 1313 falls outside a second window, thecontactless card 1305, responsive to the one or more additionalgestures, may be deactivated.

In other examples, a second process may include the client device 1305configured to perform the one or more reads of the one or more applets1311 during two or more gestures by the contactless card 1305 within adata communication field of the client device 1310. Moreover, the one ormore servers 1320 may be configured to receive the one or more readsfrom the client device 1310 based on the two or more gestures so as toresynchronize the counter 1313. In some examples, the two or moregestures may comprise a wave, tap, swipe, or any combination thereof bythe contactless card 1305 to the client device 1310. In some examples,the second process may include a first window configured to determine ifan increment of the counter 1313 of the contactless card 1305 belongs toa first monotonic or non-monotonic sequence. For example, if theincrement of the counter 1305 of the contactless card 1310 does notbelong to the first monotonic sequence within the first window, thecontactless card 1305 may be prompted for one or more additionalgestures. The one or more additional gestures may comprise a wave, tap,swipe, or any combination thereof by the contactless card 1305 to theclient device 1310. If the counter 1313 is within a second windowincluding a second monotonic or non-monotonic sequence, the counter1313, responsive to the one or more additional gestures, may beresynchronized. If the counter 1313 falls outside a second window, thecontactless card 1305, responsive to the one or more additionalgestures, may be deactivated.

Continuing with the example above, given that a monotonic increment isutilized, the next value should be 102. As a consequence, to the extentthere is an ambiguity in the counter sequence, for example, 1, 1, 2, 1),the contactless card 1305 may be gestured one or more additional timesto determine where precisely the counter 1313 is in the sequence forresynchronization. In some examples, there may be a plurality of windowsfor attempts. Accordingly, the plurality of windows may be adjusted,such as an expansion of one or more windows, a reduction of one or morewindows, or a combination thereof. If the next number of the counter1313 is presented on the next read and also within one of the windows,then the one or more servers 1320 may be configured to authenticaterather than deactivate the contactless card 1305.

FIG. 14 illustrates a method 1400 for resynchronizing a counter in acontactless card. Method 1400 may reference same or similar componentsas described above with respect to FIG. 13.

At block 1410, the method may include communicating by a contactlesscard to a client device. The client device may be in communication withone or more servers. The contactless card may include one or moreprocessors and memory. The memory may comprise one or more applets and acounter. The counter may be configured to signal one or more attacks,including but not limited to nefarious activities such as unauthorizeduse, excessive use, card tampering, card communication interference, orany combination thereof. In some examples, one or more attacks may beassociated with physical access to the contactless card. By way ofexample, these attacks may include attempted extraction of master keysfor a secure element of the contactless card; side channel attacksthrough other communication pathways, such as the EMV chip contactinterface; and/or fuzzing of the contactless card or contact interfaceswith random or structured information attempting to overload or force anunintended response from one or more applets of the contactless card.

In other examples, an attack may be detected when an attacker attemptsto impersonate a message, for example by either intercepting a messageand attempting to modify the message, or by creating its own artificialmessage. These may be detected with, such as, message replay with apreviously used counter, such as the last counter stored on the one ormore servers; message replay with a changed counter; message replay witha changed account number and/or user identification; and/or a messagewith an altered or constructed cryptogram.

In some examples, responsive to when the contactless card detects one ormore of the attacks, the one or more applets may be configured toperform one or more actions. For example, the one or more applets ofcontactless card may be configured to transition to a state to where itdoes not function at all. In another example, the one or more applets ofcontactless card may be configured to signal to the one or more serverswhat attack has occurred, for example, if a fuzzing attack was detected,then an encrypted value indicative of the fuzzing attack may be sent tothe one or more servers so as to signal the one or more servers that thecontactless card may be compromised.

In some examples, the counter may be adjusted, including but not limitedto increment or decrement in a non-monotonic sequence. In otherexamples, the counter may be adjusted, including but limited toincrement or decrement in a monotonic sequence. In some examples, thecounter may be adjusted, including but not limited to increment ordecrement in a randomly generated or non-sequential sequence. The clientdevice may include one or more processors and memory.

At block 1420, the method may include comparing, by the one or moreservers, the received counter to an expected counter value forsynchronization. By way of example, the one or more servers may beseeking a value that they are expecting. In one example, the counter ofthe contactless card may begin at zero. On the one or more servers, thecounter may begin at zero, and increment, for example by 1, such thatthe next expected counter would be 1. If 1 is the expected counter, andthe one or more servers instead determines a different value, such as10, a determination is made as to whether the different value is withina given window or range. To the extent that the different value iswithin the window or range, then the counter may be set to 10 andtherefore accepted. To the extent that the different value is not withinthe window or range, say for example 100, this value is clearly notequal to 1, the expected counter value, and one or more messages may betransmitted to the client device. In some examples, the one or moremessages may comprise an indication that the contactless card must begestured one or more times. Responsive to these one or more gestures,the counter value may be 101, and this may be an acceptable numberdetermined by the one or more servers. However, in some examples, upondetermination of any other number, the contactless card may bedeactivated. In some examples, the contactless card may be shut down bythe one or more servers. For example, the one or more servers may haltdata communication with the contactless card since the contactless cardmay be under attack, as previously explained.

At block 1430, the method may include resynchronizing the counter, viaone or more processes, based on one or more reads of the one or moreapplets. In some examples, a single gesture or plurality of gestures ofthe contactless card may be utilized as part of one or moresynchronization processes. For example, a first process may include theclient device configured to perform the one or more reads of the one ormore applets during a single gesture by the contactless card within adata communication field of the client device. Moreover, the one or moreservers may be configured to receive the one or more reads from theclient device based on the single gesture so as to resynchronize thecounter. In some examples, the single gesture may comprise a wave, tap,swipe, or any combination thereof by the contactless card to the clientdevice. In some examples, the first process may include a first windowconfigured to determine if an increment of the counter of thecontactless card belongs to a first monotonic or non-monotonic sequence.For example, if the increment of the counter of the contactless carddoes not belong to the first monotonic sequence within the first window,the contactless card may be prompted for one or more additionalgestures. The one or more additional gestures may comprise a wave, tap,swipe, or any combination thereof by the contactless card to the clientdevice. If the counter is within a second window including a secondmonotonic or non-monotonic sequence, the counter, responsive to the oneor more additional gestures, may be resynchronized. If the counter fallsoutside a second window, the contactless card, responsive to the one ormore additional gestures, may be deactivated.

In other examples, a second process may include the client deviceconfigured to perform the one or more reads of the one or more appletsduring two or more gestures by the contactless card within a datacommunication field of the client device. Moreover, the one or moreservers may be configured to receive the one or more reads from theclient device based on the two or more gestures so as to resynchronizethe counter. In some examples, the two or more gestures may comprise awave, tap, swipe, or any combination thereof by the contactless card tothe client device. In some examples, the second process may include afirst window configured to determine if an increment of the counter ofthe contactless card belongs to a first monotonic or non-monotonicsequence. For example, if the increment of the counter of thecontactless card does not belong to the first monotonic sequence withinthe first window, the contactless card may be prompted for one or moreadditional gestures. The one or more additional gestures may comprise awave, tap, swipe, or any combination thereof by the contactless card tothe client device. If the counter is within a second window including asecond monotonic or non-monotonic sequence, the counter, responsive tothe one or more additional gestures, may be resynchronized. If thecounter falls outside a second window, the contactless card, responsiveto the one or more additional gestures, may be deactivated.

Continuing with the example above, given that a monotonic increment isutilized, the next value should be 102. As a consequence, to the extentthere is an ambiguity in the counter sequence, (for example, 1, 1, 2,1), the contactless card may be gestured one or more additional times todetermine where precisely the counter is in the sequence forresynchronization. In some examples, there may be a plurality of windowsfor attempts. Some client devices may perform multiple readings of tagsevery time the tag is read. Accordingly, the plurality of windows may beadjusted, such as an expansion of two or three windows. If the nextnumber of the counter is presented and also within one of the windows,then the one or more servers may be configured to authenticate ratherthan deactivate the contactless card.

At block 1440, the method may include authenticating, by the one or moreservers, the contactless card based on resynchronizing the counter.

In some examples, the present disclosure refers to a tap of thecontactless card. However, it is understood that the present disclosureis not limited to a tap, and that the present disclosure includes othergestures (e.g., a wave or other movement of the card).

Throughout the specification and the claims, the following terms take atleast the meanings explicitly associated herein, unless the contextclearly dictates otherwise. The term “or” is intended to mean aninclusive “or.” Further, the terms “a,” “an,” and “the” are intended tomean one or more unless specified otherwise or clear from the context tobe directed to a singular form.

In this description, numerous specific details have been set forth. Itis to be understood, however, that implementations of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “some examples,” “other examples,” “oneexample,” “an example,” “various examples,” “one embodiment,” “anembodiment,” “some embodiments,” “example embodiment,” “variousembodiments,” “one implementation,” “an implementation,” “exampleimplementation,” “various implementations,” “some implementations,”etc., indicate that the implementation(s) of the disclosed technology sodescribed may include a particular feature, structure, orcharacteristic, but not every implementation necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrases “in one example,” “in one embodiment,” or “in oneimplementation” does not necessarily refer to the same example,embodiment, or implementation, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

While certain implementations of the disclosed technology have beendescribed in connection with what is presently considered to be the mostpractical and various implementations, it is to be understood that thedisclosed technology is not to be limited to the disclosedimplementations, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the scope ofthe appended claims. Although specific terms are employed herein, theyare used in a generic and descriptive sense only and not for purposes oflimitation.

This written description uses examples to disclose certainimplementations of the disclosed technology, including the best mode,and also to enable any person skilled in the art to practice certainimplementations of the disclosed technology, including making and usingany devices or systems and performing any incorporated methods. Thepatentable scope of certain implementations of the disclosed technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

1-20. (canceled)
 21. A resynchronization system comprising: atransmitting device including one or more processors and a memory,wherein the memory comprises one or more applets and a counter; and oneor more servers in data communication with the transmitting device, theone or more servers including a memory comprising a first counter value,wherein: the transmitting device is configured to transmit the counterto the one or more servers, the one or more servers are configured tocompare the counter to the first counter value for synchronization, thetransmitting device and the one or more servers are configured toresynchronize the counter, and the one or more servers are configured toauthenticate the transmitting device based on resynchronizati on of thecounter.
 22. The resynchronization system of claim 21, wherein thecounter is configured to signal one or more attacks.
 23. Theresynchronization system of claim 21, wherein the transmitting deviceand the one or more servers are configured to decrement the counter in apre-generated sequence.
 24. The resynchronization system of claim 21,wherein: a first process includes an application comprising instructionsfor execution on a client device, the application configured to performone or more reads of the one or more applets after a first entry by thetransmitting device into a communication field, and the one or moreservers are configured to receive the one or more reads from theapplication based on the first gesture so as to resynchronize thecounter.
 25. The resynchronization system of claim 24, wherein the firstprocess includes a first window and is configured to determine if anadjustment of the counter belongs to a first sequence within the firstwindow.
 26. The resynchronization system of claim 25, whereintransmitting device is prompted for one or more additional gestureswithin the data communication field if the adjustment of the counterdoes not belong to the first sequence within the first window.
 27. Theresynchronization system of claim 26, wherein the one or more serversare configured to transmit one or more messages to the application, theone or more messages indicative of the prompt for one or more additionalentries into the data communication field.
 28. The resynchronizationsystem of claim 21, wherein: a second process includes an applicationcomprising instructions for execution on a client device, theapplication configured to perform the one or more reads of the one ormore applets after two or more entries by the transmitting device into adata communication field, and the one or more servers are configured toreceive the one or more reads so as to resynchronize the counter. 29.The resynchronization system of claim 21, wherein: the transmittingdevice comprises a contactless card, and the one or more servers are indata communication with the contactless card via one or moreintermediary devices.
 30. The resynchronization system of claim 21,wherein the one or more servers are configured to reject a numberpreviously used for the counter.
 31. A method of counterresynchronization comprising: communicating, by a transmitting device,to one or more servers, the transmitting device including one or moreprocessors and a memory, wherein the memory comprises one or moreapplets and a counter; comparing, by the one or more servers, thecounter received from the application to a counter value forsynchronization; resynchronizing the counter, via one or more processes,based on one or more reads of the one or more applets; andauthenticating, by the one or more servers, the transmitting devicebased on resynchronization of the counter.
 32. The method of claim 31,wherein the counter is configured to decrement in a monotonic sequence.33. The method of claim 31, wherein: the counter is resynchronized via afirst process including: performing, by an application comprisinginstructions for execution on a client device, the one or more reads ofthe one or more applets after a first entry of the transmitting devicein a communication field, and receiving, by the one or more servers, theone or more reads so as to resynchronize the counter.
 34. The method ofclaim 33, wherein the first process is configured to determine if anadjustment of the counter belongs to a first sequence within a firstwindow.
 35. The method of claim 34, wherein the transmitting device isprompted for one or more additional entries into a data communicationfield of the application if the adjustment of the counter does notbelong to the first sequence within the first window.
 36. The method ofclaim 35, wherein the transmitting device is deactivated if, responsiveto the one or more additional entries, the counter falls outside asecond window, the second window including a second sequence.
 37. Themethod of claim 35, further comprising transmitting, by the one or moreservers, one or more messages to the application, the one or moremessages indicative of the prompt for one or more additional entriesinto the data communication field.
 38. The method of claim 31, wherein:the transmitting device comprises a contactless card, and thecontactless card communicates to the one or more servers via one or moreintermediary devices.
 39. The method of claim 31, wherein the counter isresynchronized via a second process including performing, by theapplication, the one or more reads of the one or more applets during atwo or more gestures of the transmitting device and receiving, by theone or more servers, the one or more reads from the application based onthe two or more gestures so as to resynchronize the counter.
 40. Atransmitting device comprising: one or more processors and a memory,wherein the memory comprises one or more applets and a counter; whereinthe counter is resynchronized, via a resynchronization process, based onone or more reads of the one or more applets, wherein theresynchronization process includes: performing one or more reads of theone or more applets after a first entry by the transmitting device intoa communication field, transmitting the one or more reads to the one ormore servers, and resynchronizing the counter, by the transmittingdevice, and wherein the resynchronization process includes a firstwindow and is configured to determine if an adjustment of the counterbelongs to a first sequence within the first window.